package org.base.sys.service;

import org.base.sys.VO.SysMenuPermissionVO;
import org.base.sys.VO.TreeMenuVO;
import org.base.sys.pojo.SysMenuPermission;
import org.base.sys.query.SysMenuPermissionQuery;
import org.base.common.service.IService;

import java.util.List;

/**
 * <p>
 * 菜单权限表 服务类
 * </p>
 *
 * @author AutoGenerator
 * @since 2020-05-27
 */
public interface SysMenuPermissionService extends IService<SysMenuPermission, SysMenuPermissionQuery> {



    List<SysMenuPermission> getMenus();

    List<SysMenuPermission> getVisibleMenus();

    List<TreeMenuVO> getTreeMenu();

    boolean hide(Long id);

    boolean show(Long id);

    List<SysMenuPermission> getParenMenus(Long parentId);

    List<SysMenuPermissionVO> getTreeMenuPermission();

    List<SysMenuPermission> getVisibleMenuPermission();

    List<String> getRolePermissions(List<Long> roleIds);

    List<SysMenuPermission> getVisibleMenuByIds(List<Long> menuIds);

    List<SysMenuPermission> getRolePerms(List<Long> roleIds);

    List<SysMenuPermission> getAllPerms();

    List<SysMenuPermission> getPerms();

    List<SysMenuPermission> getVisibleMenuPermByIds(List<Long> menuIds);
}
